package com.example.analysis.service;

import com.example.analysis.dto.ClusterScoreDto;
import com.example.analysis.dto.StudentPlatformScoreDto;
import com.example.analysis.vo.AssociationItemsVo;
import com.example.analysis.vo.AssociationRulesVo;
import com.example.analysis.vo.ClusterScoreVo;

import java.util.List;
import com.example.analysis.entity.PageBean;
import com.example.analysis.entity.Student;
import com.example.analysis.utils.Response;
import com.example.analysis.vo.TimeScoreVo;
import org.springframework.web.bind.annotation.RequestParam;

public interface StudentService {
    Response<List<ClusterScoreVo>> getScoreSet(String classId, String subId);
    Response<List<TimeScoreVo>> getTimeScoreSet(String classId, String subId);

    /**
     * 获取每一项的出现次数
     */
    Response<List<AssociationItemsVo>> getAssociationItems(String classId, String subId, Double scoreCut, Double evaScoreCut);

    /**
     * 关联规则各项规则
     */
    Response<List<AssociationRulesVo>> getAssociationRules(String classId, String subId, Double scoreCut, Double evaScoreCut);
    Response<List<AssociationRulesVo>> getAssociationRulesSup(String subId, Double scoreCut, Double supervisionScoreCut);
    Response<List<AssociationRulesVo>> getAssociationRulesSupStu(String subId, Double evaScoreCut, Double supervisionScoreCut);
    Response<List<AssociationRulesVo>> getAssociationRulesCourse(String classId, Double scoreCut);

    Response<Student> insert(Student aStudent);
    Response<Student> getById(String StudentId);
    PageBean getAll(Integer pageNum, Integer pageSize);

    /**
     * 获取课程成绩与督导评教成绩的聚类原始数组
     */
    Response<List<ClusterScoreVo>> getScoreSetSup(String subId);

    /**
     * 获取学生评教成绩与督导评教成绩的聚类原始数组
     */
    Response<List<ClusterScoreVo>> getScoreSetSupStu(String subId);
}
